package demoinner;

public class OutClass {
    public int date1 = 1;
    public static int date2 = 2;
    private int data3 = 3;

    //静态内部类的使用；
    static class InnerClass {
        public int data4 = 4;
        public static int data5 = 5;
        private int data6 = 6;

        //静态内部类方法的使用；
        public void textInnerClass() {
            System.out.println("静态内部类方法的使用");
            OutClass outClass = new OutClass();
            System.out.println(outClass.date1);//使用外部非静态成语变量；
            System.out.println(date2);//可以直接使用外部静态成员变量；
            System.out.println(outClass.data3);
            System.out.println();
        }

    }

    //实例内部类的使用；
    class EmpleClass {
        public int data1=666;
        public static int data2=2;
        private int data3=3;

        //实例内部类方法的使用；
        public void textExpleClass(){
            System.out.println(data2);//外部类成员变量可以直接使用；
            System.out.println(date1);//内部类与外部类有同名成员变量优先使用内部类成员变量；
            System.out.println(OutClass.this.date1);//使用外部成员变量；
            System.out.println(data3);

        }

        public void text (){
            System.out.println("外部方法的实现");
        }



    }
}

